Skip to content

feat(inbound): implementa recurso InboundProductInvoices (NF-e Distribuição)#19

Merged
andrekutianski merged 1 commit intodevelopfrom
feature/consulta-nf-distribuicao
Feb 14, 2026
Merged

feat(inbound): implementa recurso InboundProductInvoices (NF-e Distribuição)#19
andrekutianski merged 1 commit intodevelopfrom
feature/consulta-nf-distribuicao

Conversation

@andrekutianski
Copy link
Member

Adiciona suporte completo à API consulta-nfe-distribuicao-v1 para consulta de NF-e recebidas via Distribuição DFe (SEFAZ), seguindo o padrão do TransportationInvoicesResource existente.

Novos arquivos

  • src/core/resources/inbound-product-invoices.ts Classe InboundProductInvoicesResource com 13 métodos públicos:

    • enableAutoFetch / disableAutoFetch / getSettings (gerenciamento)
    • getDetails / getProductInvoiceDetails (consulta webhook v1/v2)
    • getEventDetails / getProductInvoiceEventDetails (eventos)
    • getXml / getEventXml / getPdf / getJson (downloads)
    • manifest (Manifestação do Destinatário: 210210/210220/210240)
    • reprocessWebhook (reprocessar por chave de acesso ou NSU)
  • tests/unit/resources/inbound-product-invoices.test.ts 31 testes unitários cobrindo validação de parâmetros, caminhos HTTP corretos, métodos HTTP corretos e valores de retorno.

  • examples/inbound-product-invoices.js Exemplo completo demonstrando todos os fluxos principais.

Arquivos modificados

  • src/core/types.ts 12 novos tipos/interfaces: InboundInvoiceMetadata, InboundProductInvoiceMetadata, InboundSettings, EnableInboundOptions, ManifestEventType, InboundCompany, InboundIssuer, InboundBuyer, InboundTransportation, InboundLinks, InboundProductInvoice, AutomaticManifesting.

  • src/core/client.ts Lazy getter inboundProductInvoices usando cteHttp (api.nfse.io).

  • src/core/resources/index.ts Export do InboundProductInvoicesResource.

  • src/index.ts Re-exports de todos os tipos de NF-e Distribuição.

  • docs/API.md Referência completa da API com assinaturas, tabelas de parâmetros, tabelas de resposta e exemplos de código para todos os 13 métodos.

  • README.md Seção "NF-e de Entrada - Distribuição" com exemplos de uso em português e tabela de tipos de manifestação.

Decisões técnicas

  • Reutiliza o HttpClient de CT-e (mesmo host api.nfse.io)
  • Tipos handwritten (nomes gerados são ilegíveis: Sucessonarequisio)
  • tpEvent do manifest é passado como query param na URL
  • Webhook v2 (getProductInvoice*) omite nsuParent/nfeSerialNumber/ operationType e adiciona productInvoices[]
  • Validação de chave de acesso: 44 dígitos numéricos

…buição)

Adiciona suporte completo à API consulta-nfe-distribuicao-v1 para consulta
de NF-e recebidas via Distribuição DFe (SEFAZ), seguindo o padrão do
TransportationInvoicesResource existente.

## Novos arquivos

- src/core/resources/inbound-product-invoices.ts
  Classe InboundProductInvoicesResource com 13 métodos públicos:
  - enableAutoFetch / disableAutoFetch / getSettings (gerenciamento)
  - getDetails / getProductInvoiceDetails (consulta webhook v1/v2)
  - getEventDetails / getProductInvoiceEventDetails (eventos)
  - getXml / getEventXml / getPdf / getJson (downloads)
  - manifest (Manifestação do Destinatário: 210210/210220/210240)
  - reprocessWebhook (reprocessar por chave de acesso ou NSU)

- tests/unit/resources/inbound-product-invoices.test.ts
  31 testes unitários cobrindo validação de parâmetros, caminhos HTTP
  corretos, métodos HTTP corretos e valores de retorno.

- examples/inbound-product-invoices.js
  Exemplo completo demonstrando todos os fluxos principais.

## Arquivos modificados

- src/core/types.ts
  12 novos tipos/interfaces: InboundInvoiceMetadata,
  InboundProductInvoiceMetadata, InboundSettings, EnableInboundOptions,
  ManifestEventType, InboundCompany, InboundIssuer, InboundBuyer,
  InboundTransportation, InboundLinks, InboundProductInvoice,
  AutomaticManifesting.

- src/core/client.ts
  Lazy getter `inboundProductInvoices` usando cteHttp (api.nfse.io).

- src/core/resources/index.ts
  Export do InboundProductInvoicesResource.

- src/index.ts
  Re-exports de todos os tipos de NF-e Distribuição.

- docs/API.md
  Referência completa da API com assinaturas, tabelas de parâmetros,
  tabelas de resposta e exemplos de código para todos os 13 métodos.

- README.md
  Seção "NF-e de Entrada - Distribuição" com exemplos de uso em
  português e tabela de tipos de manifestação.

## Decisões técnicas

- Reutiliza o HttpClient de CT-e (mesmo host api.nfse.io)
- Tipos handwritten (nomes gerados são ilegíveis: Sucessonarequisio)
- tpEvent do manifest é passado como query param na URL
- Webhook v2 (getProductInvoice*) omite nsuParent/nfeSerialNumber/
  operationType e adiciona productInvoices[]
- Validação de chave de acesso: 44 dígitos numéricos
@andrekutianski andrekutianski self-assigned this Feb 14, 2026
@andrekutianski andrekutianski merged commit 769e28c into develop Feb 14, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant